package com.example.azheng.rxjavamvpdemo.util;

import android.text.TextUtils;

import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;

/**
 * @author yanpf
 * @create 2019/1/17 0017
 * @Describe Gson转换工具类
 */
public class GsonUtils {

    /**
     * 把相对应节点的内容封装为对象
     *
     * @param jsonString json字符串
     * @param clazzBean  要封装成的目标对象
     * @return 目标对象
     */
    public static <T> T parserJsonToJavaBean(String jsonString, Class<T> clazzBean) {

        if (TextUtils.isEmpty(jsonString)) {
            return null;
        }
        JsonElement jsonElement = new JsonParser().parse(jsonString);
        if (jsonElement.isJsonNull()) {
            return null;
        }
        if (!jsonElement.isJsonObject()) {
            return null;
        }
        return new Gson().fromJson(jsonElement, clazzBean);
    }

    /**
     * 将对象转成String类型Json 串
     *
     * @param <T> 暂无
     * @param src 要转换的对象
     * @return 对象对应的字符串
     */
    public static <T> String toJson(Object src) {
        return new Gson().toJson(src);
    }


//    有空封装一个转集合的方法
//    Gson gson = new Gson();
//    mImageList = gson.fromJson(mImageJosn, new TypeToken<List<String>>() {
//    }.getType());
}
